#include "CaseSettings.h"
#include "ModelSettings.h"
#include "Constant.h"
#include "Flowfield.h"
#include <iostream>

using namespace std;

int main()
{
	auto constant0 = make_shared<Constants>();
	string caseSetting = "Coordinates.txt", inletFile = "InletConditions.txt";
	auto caseSettings0 = make_shared<CaseSettings>(caseSetting, inletFile);
	string modelSetting = "modelinput.txt";
	auto modelSettings0 = make_shared<ModelSettings>(modelSetting);
	auto flowfield0 = make_shared<Flowfield>(modelSettings0, caseSettings0);


	cout << "output constant:" << endl;
	cout << "gammaAir = " << (*constant0).gammaAir << endl;
	cout << "Rgas_mol = " << (*constant0).Rgas_mol << endl;
	cout << "Cp_dryAir = " << (*constant0).Cp_dryAir << endl;

	cout << "output caseSettings:" << endl;
	cout << "inletP = " << (*caseSettings0).inletP << endl;
	cout << "inletT = " << (*caseSettings0).inletT << endl;
	cout << "inletMU = " << (*caseSettings0).inletMU << endl;
	cout << "inletRho  = " << (*caseSettings0).inletRho << endl;

	cout << "output modelSettings:" << endl;
	cout << "gVxStart = " << (*modelSettings0).gVxStart << endl;
	cout << "gVxEnd = " << (*modelSettings0).gVxEnd << endl;
	cout << "gVy = " << (*modelSettings0).gVy << endl;

	cout << "output flowfield vx:" << endl;
	cout << "vx (at x=0.1) = " << (*flowfield0).GetGasVelocityX(0.1) << endl;

	return 1;
}